package com.lzj.admin.pojo;

import com.baomidou.mybatisplus.annotation.*;

import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 销售单支付明细表
 * </p>
 *
 * @author luoyoumou
 * @since 2023-02-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_sale_list_payment")
@ApiModel(value="SaleListPayment对象", description="销售单支付明细表")
public class SaleListPayment implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "销售单id")
    private Integer saleListId;

    @ApiModelProperty(value = "销售单号")
    private String saleNumber;

    @ApiModelProperty(value = "支付金额")
    private BigDecimal amountPaid;

    @ApiModelProperty(value = "未付金额")
    @TableField(exist = false)
    private BigDecimal amountNotPaid;

    @ApiModelProperty(value = "优惠金额")
    private BigDecimal amountDiscounts;

    @ApiModelProperty(value = "支付类型")
    private Integer payType;

    @ApiModelProperty(value = "支付日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date payDate;

    @ApiModelProperty(value = "操作用户id")
    private Integer userId;

    @ApiModelProperty(value = "最后修改的操作用户id")
    private Integer updateUserId;

    @ApiModelProperty(value = "是否删除")
    private Integer isDel;

    @ApiModelProperty(value = "备注")
    private String remarks;

    @ApiModelProperty(value = "创建日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date createDate;

    @ApiModelProperty(value = "操作用户名称")
    @TableField(exist = false)
    private String userName;

    @ApiModelProperty(value = "最后修改日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date updateDate;

    @ApiModelProperty(value = "最后修改用户名称")
    @TableField(exist = false)
    private String updateUserName;

    @ApiModelProperty(value = "序号")
    @TableField(exist = false)
    private Integer orderNo;

    @ApiModelProperty(value = "(该销售记录涉及的订单)的状态")
    @TableField(exist = false)
    private Integer state;

}
